"""
缺失值处理功能演示示例

该示例展示了Table类的缺失值检测和处理功能，包括缺失值识别、删除和填充策略。
"""
from ..dataframe import Table
import numpy as np

# 缺失值处理演示
print("===== 缺失值处理功能演示 =====")

# 创建包含缺失值的示例数据
data = {
    'name': ['Alice', 'Bob', np.nan, 'David', 'Eve'],
    'age': [25, np.nan, 30, 35, np.nan],
    'department': ['HR', 'Engineering', 'Finance', np.nan, 'Marketing']
}
table = Table(data)
print("原始数据（含缺失值）:\n", table)

# 检测缺失值
print("\n缺失值检测结果:")
print(table.isnull())

# 统计每列缺失值数量
print("\n每列缺失值数量:")
print(table.isnull().sum())

# 删除包含缺失值的行
dropped_table = table.dropna(axis=0)
print("\n删除缺失值行后的数据:\n", dropped_table)

# 使用均值填充数值列缺失值
filled_age_table = table.fillna({'age': table.get_column('age').mean()})
print("\n使用均值填充年龄后的年龄列:\n", filled_age_table.get_column('age'))

# 使用指定值填充缺失值
filled_table = table.fillna({'name': 'Unknown', 'department': 'Other'})
print("\n填充所有缺失值后的数据:\n", filled_table)